lexer grammar InternalSilk;
@header {
package org.xmdl.contentassist.antlr.internal;

// Hack: Use our own Lexer superclass by means of import. 
// Currently there is no other way to specify the superclass for the lexer.
import org.eclipse.xtext.ui.common.editor.contentassist.antlr.internal.Lexer;
}

T12 : '+' ;
T13 : '-' ;
T14 : '*' ;
T15 : '/' ;
T16 : '(' ;
T17 : ')' ;
T18 : '{' ;
T19 : '}' ;
T20 : ',' ;
T21 : '=' ;
T22 : 'print' ;
T23 : 'return' ;

// $ANTLR src "../org.xmdl.silk.ui/src-gen/org/xmdl/contentassist/antlr/internal/InternalSilk.g" 1928
RULE_TERM_DOUBLE : ('0'..'9')+ '.' ('0'..'9')+;

// $ANTLR src "../org.xmdl.silk.ui/src-gen/org/xmdl/contentassist/antlr/internal/InternalSilk.g" 1930
RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;

// $ANTLR src "../org.xmdl.silk.ui/src-gen/org/xmdl/contentassist/antlr/internal/InternalSilk.g" 1932
RULE_INT : ('0'..'9')+;

// $ANTLR src "../org.xmdl.silk.ui/src-gen/org/xmdl/contentassist/antlr/internal/InternalSilk.g" 1934
RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\'');

// $ANTLR src "../org.xmdl.silk.ui/src-gen/org/xmdl/contentassist/antlr/internal/InternalSilk.g" 1936
RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';

// $ANTLR src "../org.xmdl.silk.ui/src-gen/org/xmdl/contentassist/antlr/internal/InternalSilk.g" 1938
RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;

// $ANTLR src "../org.xmdl.silk.ui/src-gen/org/xmdl/contentassist/antlr/internal/InternalSilk.g" 1940
RULE_WS : (' '|'\t'|'\r'|'\n')+;

// $ANTLR src "../org.xmdl.silk.ui/src-gen/org/xmdl/contentassist/antlr/internal/InternalSilk.g" 1942
RULE_ANY_OTHER : .;


